PDG : A Process-Level Debugger in GRAPE for communicating processes on transputer platforms*
نویسندگان
چکیده
In this paper, we describe the process-level debugger of GRAPE, a hierarchical graphical programming environment for concurrent programs. This debugger allows to debug concurrent programs that are based on communicating sequential processes. Its unique feature is that it clearly separates the identification of erroneous processes from the exact localisation of the bug on the source-level. This divide-and-conquer approach is absolutely necessary for debugging complex parallel programs in a fast and systematic way. Our process-level debugging approach is based on an animation of program behaviour on its hierarchical graphical representation. Graphical views are used that reflect the programmer's mental picture of the application. Hierarchy allows us to employ a top-down debugging approach in which we successively refine the search-space by zooming in on suspect processes first-timeright. During animation, a debugging kernel implementing a record-replay mechanism guarantees reproducible program behaviour for programs containing races and asynchronous
منابع مشابه
PDG: A process-level debugger for concurrent programs in the GRAPE parallel programming environment
In this paper, we describe the process-level debugger of GRAPE, our hierarchical graphical programming environment for concurrent programs. Its unique feature is that it clearly separates the identification of erroneous processes, which we call process-level debugging, from the exact localisation of the bug at the source-level. This divide-and-conquer approach is absolutely necessary for debugg...
متن کاملOn-line distributed debugging on scalable multiprocessor architectures
Debugging parallel programs is one of the most tedious jobs in programming scalable multiprocessor architectures. Due to the distributed resources of these machines, programming is often architecture dependent. Most development tools still reeect this dependency even during the analysis phase of parallel programs. This paper presents the distributed debugger DETOP, which ooers a global name spa...
متن کاملOCCAM- and C-Based Multiprocessor Environments for UNIX Cluster
Two new multiprocessor environments, OCCNIX and CNIX, are described in this paper. These are scalable modular software systems that enable parallel programs to run on clusters of UNIX workstations. The environments unite the paradigms of multiprocessing and multithreading into a single programming model. OCCNIX executes OCCAM programs, using linked binary level interpreters to form a virtual Tr...
متن کاملOn-line Distributed Debugging on Scaleable Multicomputer Architectures
Debugging parallel programs is one of the most tedious jobs in programming scalable multiprocessor architectures. Due to the distributed resources of these machines, programming is often architecture dependent. Most development tools still reeect this dependency even during the analysis phase of parallel programs. This paper presents the distributed debugger DETOP, which ooers a global name spa...
متن کاملMillipede - A Programming Environment providing Graphical Support for Parallel Programming
This paper describes Millipede, a graphical programming environment for a Transputer-based MIMD multiprocessor system. The environment provides a visual extension to the CSP/Occam programming model. Parallel programs are described as graphs, where the nodes denote parallel processes and the edges denote communication channels between processes. Graphs are constructed using a hierarchical graph ...
متن کامل